<template>
  <a-card :bordered="false" :class="{abcdefg: true}">

    <a-spin :style=" spinning ? `top: 300px;left: 50%;position: fixed;z-index: 10000;` : `display:none;` " />

    <div class="no-print" style="text-align: right" v-if="printflag == 'false'">
      <a-button v-print="'#printContent'" ghost type="primary" @click="handlePrint()">打印</a-button>
      <a-button ghost type="primary" @click="handleQRcode()" style="margin-left:10px;">分享</a-button>
    </div>
    <section ref="print" id="printContent" class="abcdefg">
      <div style="text-align: center">
        <p
          style="font-size: 24px;font-weight: 800;margin-bottom:10px;margin-top:15px;margin-bottom:35px;"
        >{{ formName }}</p>
      </div>
      <!--签字-->
      <a-col :md="24" :sm="24">
        <div class="sign" style="text-align: left;height: inherit;margin-left:35px;">
          <a-col
            :span="24"
            style="margin-top: 10px;margin-bottom:10px;"
            v-if=" !isNull(curRow.no) && !isNull(tableInfo.no) "
          >
            <span style="float:left;display:block;">{{ tableInfo.no }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.no"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px;margin-bottom:10px;"
            v-if=" !isNull(curRow.file_name) && !isNull(curRow.fileNameTitle) "
          >
            <span style="float:left;display:block;">{{ curRow.fileNameTitle }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.file_name"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px;margin-bottom:10px;"
            v-if=" !isNull(curRow.task_title) && !isNull(tableInfo.task_title) "
          >
            <span style="float:left;display:block;">{{ tableInfo.task_title }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.task_title"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px;margin-bottom:10px;"
            v-if=" !isNull( curRow.plan_title ) && !isNull(tableInfo.plan_title)"
          >
            <span style="float:left;display:block;">{{ tableInfo.plan_title }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.plan_title"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.sigillum_name ) && !isNull(tableInfo.sigillum_name) "
          >
            <span style="float:left;display:block;">{{ tableInfo.sigillum_name }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.sigillum_name"
            ></div>
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.create_by) && !isNull(tableInfo.create_by) "
          >
            <span>{{ tableInfo.create_by }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.create_by" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.create_time) && !isNull(tableInfo.create_time) "
          >
            <span style="margin-left: 0%">{{ tableInfo.create_time }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.create_time" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.type) && !isNull(tableInfo.type) "
          >
            <span style="margin-left: 0%">{{ tableInfo.type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.level) && !isNull(tableInfo.level) "
          >
            <span style="margin-left: 0%">{{ tableInfo.level }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.level" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.slevel) && !isNull(tableInfo.slevel) "
          >
            <span style="margin-left: 0%">{{ tableInfo.slevel }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.slevel" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.offline_auth) && !isNull(tableInfo.offline_auth) "
          >
            <span style="margin-left: 0%">{{ tableInfo.offline_auth }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.offline_auth" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.company_name) && !isNull(tableInfo.company_name ) "
          >
            <span style="margin-left: 0%">{{ tableInfo.company_name }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.company_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.work_load) && !isNull(tableInfo.work_load) "
          >
            <span style="margin-left: 0%">{{ tableInfo.work_load }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.work_load" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull(curRow.complete_date) && curRow.complete_date !='--' && !isNull(tableInfo.complete_date) "
          >
            <span style="margin-left: 0%">{{ tableInfo.complete_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.complete_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.depart_name ) && !isNull(tableInfo.depart_name) "
          >
            <span>{{ tableInfo.depart_name }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.depart_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.pid ) && !isNull(tableInfo.pid) "
          >
            <span>{{ tableInfo.pid }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.pid" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.task_exector ) && !isNull(tableInfo.task_exector) "
          >
            <span>{{ tableInfo.task_exector }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.task_exector" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.employee ) && !isNull(tableInfo.employee) "
          >
            <span>{{ tableInfo.employee }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.employee" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.work_date) && curRow.work_date != '--' && !isNull(tableInfo.work_date) "
          >
            <span>{{ tableInfo.work_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.work_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if="  !isNull(  curRow.report_date ) && curRow.report_date != '--' && !isNull(tableInfo.report_date) "
          >
            <span>{{ tableInfo.report_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.report_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.report_leader ) && !isNull(tableInfo.report_leader) "
          >
            <span>{{ tableInfo.report_leader }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.report_leader" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.leave_type_name ) && !isNull(tableInfo.formTypeName) "
          >
            <span style="margin-left: 0%">{{ curRow.formTypeName }}类型:</span>
            <a-input style="width: 70%" readonly v-model="curRow.leave_type_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.announce_type ) && !isNull(tableInfo.announce_type)"
          >
            <span style="margin-left: 0%">{{ tableInfo.announce_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.announce_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.title ) && !isNull(tableInfo.title)"
          >
            <span style="margin-left: 0%">{{ tableInfo.title }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.title" />
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.employee_rank ) && !isNull(tableInfo.employee_rank) "
          >
            <a-col :span="12">
              <span>{{ tableInfo.employee_rank }}:</span>
              <a-input style="width: 70%" readonly v-model="curRow.employee_rank" />
            </a-col>
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.starttime ) && !isNull(tableInfo.starttime) "
          >
            <span>{{ tableInfo.starttime }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.starttime" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.endtime ) && !isNull(curRow.endtime) "
          >
            <span style="margin-left: 0%">{{ tableInfo.endtime }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.endtime" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.total_days ) && !isNull(curRow.total_days)"
          >
            <span>{{ tableInfo.total_days }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.total_days" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.seal_copies ) && !isNull( curRow.seal_copies )"
          >
            <span>{{ tableInfo.seal_copies }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.seal_copies" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.declare_type ) && !isNull(curRow.declare_type)"
          >
            <span>{{ tableInfo.declare_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.declare_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.shift_date ) && curRow.shift_date != '--' && !isNull(tableInfo.shift_date)"
          >
            <span>{{ tableInfo.shift_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.shift_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.back_date ) && curRow.back_date != '--' && !isNull(tableInfo.back_date)"
          >
            <span>{{ tableInfo.back_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.back_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.repair_date ) && curRow.repair_date != '--' && !isNull(tableInfo.repair_date)"
          >
            <span>{{ tableInfo.repair_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.repair_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.status ) && !isNull(curRow.status)"
          >
            <span>{{ tableInfo.status }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.status" />
          </a-col>

          <a-col :span="12" style="margin-top: 10px; margin-bottom:10px;" v-if=" !isNull( tableInfo.bpm_status ) ">
            <span style="margin-left: 0%">{{ tableInfo.bpm_status }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.bpm_status_name" />
          </a-col>
          <a-col :span="24"></a-col>

          <a-col
            :span="24"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.seal_name ) && !isNull(tableInfo.seal_name) "
          >
            <span style="float:left;display:block;">{{ tableInfo.seal_name }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.seal_name"
            ></div>
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.employee_post ) && !isNull(tableInfo.employee_post) "
          >
            <span style="margin-left:28px;">{{ tableInfo.employee_post }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.employee_post" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.traffic_models ) && !isNull(tableInfo.traffic_models) "
          >
            <span style="margin-left:28px;">{{ tableInfo.traffic_models }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.traffic_models" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.licence_number ) && !isNull(tableInfo.licence_number)"
          >
            <span style="margin-left:14px;">{{ tableInfo.licence_number }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.licence_number" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.traffic_amount ) && !isNull(tableInfo.traffic_amount)"
          >
            <span style="margin-left:28px;">{{ tableInfo.traffic_amount.padStart(4, ' ') }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.traffic_amount" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.purchase_type ) && !isNull(tableInfo.purchase_type) "
          >
            <span>{{ tableInfo.purchase_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.purchase_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.purchase_date ) && curRow.purchase_date != '--' && !isNull(tableInfo.purchase_date)"
          >
            <span>{{ tableInfo.purchase_date }}:</span>
            <a-input style="width: 62%" readonly v-model="curRow.purchase_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.apply_date ) && curRow.apply_date != '--' && !isNull(tableInfo.apply_date)"
          >
            <span>{{ tableInfo.apply_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.apply_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.seal_type ) && !isNull(tableInfo.seal_type)"
          >
            <span>{{ tableInfo.seal_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.seal_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.file_name ) && !isNull(tableInfo.file_name)"
          >
            <span>{{ tableInfo.file_name }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.file_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.post_need ) && !isNull(tableInfo.post_need)"
          >
            <span>{{ tableInfo.post_need }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.post_need" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.post_need_count ) && !isNull(tableInfo.post_need_count)"
          >
            <span>{{ tableInfo.post_need_count }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.post_need_count" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.exp_join_date ) && curRow.exp_join_date != '--' && !isNull(tableInfo.exp_join_date)"
          >
            <span>{{ tableInfo.exp_join_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.exp_join_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.file_count ) && !isNull(tableInfo.file_count)"
          >
            <span>{{ tableInfo.file_count }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.file_count" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.start_time ) && curRow.start_time != '--' && !isNull(tableInfo.start_time)"
          >
            <span>{{ tableInfo.start_time }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.start_time" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.end_time ) && curRow.end_time != '--' && !isNull(tableInfo.end_time)"
          >
            <span>{{ tableInfo.end_time }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.end_time" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.real_start_time ) && curRow.real_start_time != '--' && !isNull(tableInfo.real_start_time)"
          >
            <span>{{ tableInfo.real_start_time }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.real_start_time" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.real_end_time ) && curRow.real_end_time != '--' && !isNull(tableInfo.real_end_time)"
          >
            <span>{{ tableInfo.real_end_time }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.real_end_time" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top:10px;margin-bottom:10px;"
            v-if=" !isNull( tableInfo.travel_address ) "
          >
            <span>{{ tableInfo.travel_address }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.travel_address" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top:10px;margin-bottom:10px;"
            v-if=" !isNull( tableInfo.predict_fee )
            "
          >
            <span>{{ tableInfo.predict_fee }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.predict_fee" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.drive_type ) "
          >
            <span>{{ tableInfo.drive_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.drive_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.predict_mileage ) "
          >
            <span>{{ tableInfo.predict_mileage }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.predict_mileage" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( tableInfo.travel_transport ) "
          >
            <span>{{ tableInfo.travel_transport }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.travel_transport" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.reserve_money ) "
          >
            <span>{{ tableInfo.reserve_money }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.reserve_money" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if="  !isNull( curRow.reserve_chinese ) "
          >
            <span>{{ tableInfo.pay_back_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.reserve_chinese" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.pay_back_date ) && curRow.pay_back_date != '--'
            "
          >
            <span>{{ tableInfo.pay_back_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.pay_back_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.money ) "
          >
            <span>{{ tableInfo.money }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.money" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.pay_type ) "
          >
            <span>{{ tableInfo.pay_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.pay_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.pay_date ) &&  curRow.pay_date != '--'
            "
          >
            <span>{{ tableInfo.pay_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.pay_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.join_users ) && curRow.join_users != '--' "
          >
            <span>{{ tableInfo.join_users }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.join_users" />
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.mireanna_type ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.mireanna_type }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.mireanna_type"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.receive_name ) "
          >
            <span>{{ tableInfo.receive_name }}:</span>
            <a-input
              style="text-align:left;padding-left:2%;width:82%;"
              readonly
              v-model="curRow.receive_name"
            />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.bank_name ) "
          >
            <span>{{ tableInfo.bank_name }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.bank_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.bank_card ) "
          >
            <span>{{ tableInfo.bank_card }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.bank_card" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.resign_user ) "
          >
            <span>{{ tableInfo.resign_user }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.resign_user" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.resign_leader ) "
          >
            <span>{{ tableInfo.resign_leader }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.resign_leader" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.alter_user ) "
          >
            <span>{{ tableInfo.alter_user }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.alter_user" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.resign_date ) && curRow.resign_date != '--'"
          >
            <span>{{ tableInfo.resign_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.resign_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.sign_user ) "
          >
            <span>{{ tableInfo.sign_user }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.sign_user" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.sign_leader ) "
          >
            <span>{{ tableInfo.sign_leader }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.sign_leader" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.hr_name ) "
          >
            <span>{{ tableInfo.hr_name }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.hr_name" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.join_date ) && curRow.join_date != '--' "
          >
            <span>{{ tableInfo.join_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.join_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.interview_date ) && curRow.interview_date != '--' "
          >
            <span>{{ tableInfo.interview_date }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.interview_date" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.post ) && curRow.post != '--' "
          >
            <span>{{ tableInfo.post }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.post" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.post ) && curRow.post != '--' "
          >
            <span>{{ tableInfo.post }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.post" />
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom: 10px;"
            v-if=" !isNull( curRow.learn_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.learn_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.learn_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom: 10px;"
            v-if=" !isNull( curRow.content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom: 10px;"
            v-if=" !isNull( curRow.repair_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.repair_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.repair_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom: 10px;"
            v-if=" !isNull( curRow.idea ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.idea }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.idea"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.entourage ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.entourage }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.entourage"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.interview_conclusion ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.interview_conclusion }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.interview_conclusion"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.traffic_standards ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.traffic_standards }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.traffic_standards"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.traffic_numbers ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.traffic_numbers }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.traffic_numbers"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if=" !isNull( tableInfo.travel_remarks ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.travel_remarks }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.travel_remarks"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 30px"
            v-if=" !isNull( curRow.location ) "
          >
            <span style="float:left;display:block;">{{ curRow.formTypeName }}地址:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.location"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-bottom:10px;margin-top:10px;"
            v-if=" !isNull( curRow.announce_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.announce_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.announce_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-bottom:10px;margin-top:10px;"
            v-if=" !isNull( curRow.plan_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.plan_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.plan_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-bottom:10px;margin-top:20px;"
            v-if=" !isNull( curRow.reserve_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.reserve_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.reserve_content"
            ></div>
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.reim_type ) "
          >
            <span>{{ tableInfo.reim_type }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.reim_type" />
          </a-col>

          <a-col
            :span="12"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.reim_total ) "
          >
            <span>{{ tableInfo.reim_total }}:</span>
            <a-input style="width: 70%" readonly v-model="curRow.reim_total" />
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 10px; margin-bottom:10px;"
            v-if=" !isNull( curRow.reim_remark ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.reim_remark }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.reim_remark"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.task_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.task_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.task_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px;margin-bottom:10px;"
            v-if=" !isNull( curRow.post_require || curRow.resign_content ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.post_require || tableInfo.resign_content }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.post_require || curRow.resign_content"
            ></div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top: 20px; margin-bottom:10px;"
            v-if=" !isNull( curRow.remark ) "
          >
            <span style="float:left;display:block;">{{ tableInfo.remark }}:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 1px solid #cecece;padding-left:20px;"
              v-html="curRow.remark"
            ></div>
          </a-col>

          <a-col :span="24" style="margin-top:30px;" v-if="curRow.main_table_status == true">
            <template>
              <a-table :columns="columns" :dataSource="data" :loading="loading" :pagination="false"></a-table>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="
              this.curRow.fileStatus != 1 &&
                this.pageType != 'print' &&
                !isNull(this.curRow.videoList)
            "
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:2px;"
            v-if="!isNull(this.curRow.videoList)"
          >
            <template>
              <div
                :class="[this.curRow.fileStatus != 1 ? 'fileshow' : 'filenone']"
                style="margin-botton:0px;"
              >
                <div style="margin-bottom:10px;">视频附件</div>
                <vue-core-video-player :src="curRow.videoList[0].src"></vue-core-video-player>
              </div>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="
              this.curRow != null &&
                this.curRow.fileStatus != 1 &&
                this.pageType != 'print' &&
                this.curRow.fileType.includes('office')
            "
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed></a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:2px;"
            v-if="this.curRow.fileStatus != 1 && this.pageType != 'print' && printflag == 'false'"
          >
            <template>
              <div
                :class="[this.curRow.fileStatus != 1 ? 'fileshow' : 'filenone']"
                v-if="this.curRow.fileType.includes('office')"
                style="width:100%;display:block;"
              >
                <div class="no-print" style="text-align: right">
                  <iframe
                    v-print="'#printContent'"
                    class="no-print fileview-iframe"
                    name="fileviewFrame"
                    id="fileviewFrame"
                    style="display:block;width:95%;align:left;height:720px;overflow-y:auto;overflow-x:hidden;border:1px solid #cecece;border-bottom:1px solid #cecece;"
                    :src="this.curRow.fileURL"
                  />
                </div>
              </div>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="
              this.curRow.fileStatus != 1 &&
                this.pageType != 'print' &&
                this.curRow.fileType.includes('image')
            "
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:2px;"
            v-if="this.curRow.fileStatus != 1 && this.pageType != 'print'"
          >
            <template>
              <div
                :class="[this.curRow.fileStatus != 1 ? 'fileshow' : 'filenone']"
                v-if="this.curRow.fileType.includes('image')"
                style="margin-botton:20px;"
              >
                <div style="margin-bottom:10px;">图片附件</div>
                <vue-preview :slides="slides" @close="handleClose" @click="handleImgClick"></vue-preview>
              </div>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="
              this.curRow.fileStatus != 1 &&
              this.pageType != 'print' &&
              !isNull(this.curRow.musicList)
            "
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:2px;"
            v-if="this.curRow.fileStatus != 1 && this.pageType != 'print'"
          >
            <template>
              <div
                v-if="!isNull(this.curRow.musicList)"
                style="margin-botton:0px;"
              >
                <div style="margin-bottom:10px;">音频附件</div>
                <aplayer style="width:630px;"
                  autoplay
                  :mini="false"
                  :repeat="repeat-all"
                  :music="curRow.musicList[0]"
                  :list="curRow.musicList"
                ></aplayer>
              </div>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:15px;"
            v-if="
              this.curRow.fileStatus != 1 &&
              this.pageType != 'print' &&
              !isNull(this.curRow.musicList)
            "
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:2px;"
            v-if="this.curRow.fileStatus != 1 && this.pageType != 'print'"
          >
            <template>
              <div class="office-container" style="margin-top:0px;">
                <div style="margin-bottom:10px;">下载附件</div>
                <div
                  class="ant-upload-list-item-info"
                  v-for="(item, index) in curRow.officeList"
                  :key="index"
                >
                  <span style="hover{background: #efeffe;}">
                    <a
                      rel="noopener noreferrer"
                      class="ant-upload-list-item-name"
                      style="float:left;margin-left:-20px;margin-top:5px;border-bottom:1px solid #f0f0f0; hover{background: #efeffe;}"
                    >
                      <a-icon type="file" style="float:left;margin-top:4px;margin-right:5px;" />
                      <span
                        type="file"
                        target="_blank"
                        :title="item.title"
                        @click="handlePreview(item)"
                        style="float:left;width:80%;margin-top:4px;margin-right:5px;hover{background: #efeffe; cursor:point;}"
                      >{{ item.name }}</span>
                      <a-icon
                        type="download"
                        @click="handleDownLoad(item)"
                        style="float:right;margin-top:4px;width:10%;margin-right:5px;hover{background: #efeffe; cursor:point;}"
                      />
                    </a>
                  </span>
                </div>
              </div>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="curRow.bpm_status != 1 || workflows.length > 0"
          >
            <div style="width:98%;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;margin-bottom:20px;"
            v-if="
              (curRow.bpm_status != 1 || workflows.length > 0) &&
                (pageType != 'print') 
            "
          >
            <div class="no-print" style="margin-bottom:20px;">流程进度</div>
            <template>
              <a-steps class="no-print" style="width:80%;margin-bottom:10px;">
                <a-step :status="wflowstatus.start.status" title="发起" :description="startusers">
                  <a-icon type="user" slot="icon" />
                </a-step>
                <a-step :status="wflowstatus.audit.status" title="审核" :description="auditusers">
                  <a-icon type="solution" slot="icon" />
                </a-step>
                <a-step :status="wflowstatus.approve.status" title="审批" :description="approveusers">
                  <a-icon type="audit" slot="icon" />
                </a-step>
                <a-step :status="wflowstatus.message.status" title="知会" :description="messageusers">
                  <a-icon type="mail" slot="icon" />
                </a-step>
              </a-steps>
              <br />
            </template>
            <div class="no-print" style="width:98%;margin-top:10px;margin-bottom:10px;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:10px;"
            v-if="curRow.bpm_status != 1 || workflows.length > 0"
          >
            <div style="margin-bottom:20px;">审批流程</div>
            <template>
              <a-timeline>
                <div v-for="(item, index) in workflows" :key="index">
                  <a-timeline-item v-bind:color="item.color">
                    <a-icon
                      v-if="item.status == 'wait'"
                      slot="dot"
                      type="clock-circle-o"
                      style="font-size: 16px;"
                      theme="twoTone"
                      twoToneColor="#eb2f2f"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'start'"
                      slot="dot"
                      type="tag"
                      style="font-size: 16px;"
                      theme="twoTone"
                      twoToneColor="#5599FF"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'cancel'"
                      slot="dot"
                      type="close-circle"
                      style="font-size: 16px;"
                      theme="twoTone"
                      twoToneColor="#cecece"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'agree'"
                      slot="dot"
                      type="check-circle"
                      style="font-size: 16px;"
                      theme="twoTone"
                      twoToneColor="#52ce1a"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'message'"
                      slot="dot"
                      type="mail"
                      style="font-size: 16px;"
                      theme="twoTone"
                      :twoToneColor="item.color"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'over'"
                      slot="dot"
                      type="flag"
                      style="font-size: 16px;"
                      theme="twoTone"
                      :twoToneColor="item.color"
                      v-bind:color="item.color"
                    />
                    <a-icon
                      v-if="item.status == 'sound'"
                      slot="dot"
                      type="sound"
                      style="font-size: 16px;"
                      theme="twoTone"
                      twoToneColor="orange"
                      v-bind:color="item.color"
                    />
                    {{ item.content }}
                  </a-timeline-item>
                </div>
              </a-timeline>
            </template>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:20px;margin-bottom:10px;"
            v-if="
              typeof tableInfo.traffic_numbers != 'undefined' &&
                tableInfo.traffic_numbers != null
            "
          >
            <span style="float:left;display:block;">注:</span>
            <div
              style="float:left; width:88%; display:block; border-bottom: 0px solid #cecece;padding-left:20px;"
            >
              <p>1. 此表批准后原件由综合部存档，复印件交财务部。</p>
              <p>
                2.
                此表批准日期在15号（含15号）以前则从当月开始享有车辆补贴，在15号以后则从下月开始享有。
              </p>
              <p>
                3.
                驾驶证、行驶证和身份证的复印件是该表的必备附件，驾驶证必须是申请人本人证件，行驶证与驾驶证户名不一致，需另附行驶证所有人的身份证复印件及关系证明、书面说明。
              </p>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:30px;"
            v-if="pageType == 'workflow' && curRow.bpm_status == 2"
          >
            <template>
              <a-form :form="form">
                <a-form-item label="加签用户" style="width: 500px">
                  <j-select-multi-user v-model="wflowAddUsers"></j-select-multi-user>
                </a-form-item>

                <div style="width:500px;" v-if="wflowAddData != null && wflowAddData.length > 0">
                  <a-table :columns="wflowcolumns" :dataSource="wflowAddData" :pagination="false"></a-table>
                </div>
              </a-form>

              <a-form :form="form">
                <a-form-item label="会签用户" style="width: 500px;margin-top:20px;">
                  <j-select-multi-user v-model="wflowNotifyUsers"></j-select-multi-user>
                </a-form-item>

                <div
                  style="width:500px;"
                  v-if="wflowNotifyData != null && wflowNotifyData.length > 0"
                >
                  <a-table
                    :columns="wflowcolumns"
                    :dataSource="wflowNotifyData"
                    :pagination="false"
                  ></a-table>
                </div>
              </a-form>
            </template>

            <div
              style="float:left; width:88%; display:block; border-bottom: 0px solid #cecece;padding-left:0px;margin-top:30px;margin-bottom:30px;"
            >
              <p>注意：不能同时选择会签用户和加签用户！</p>
              <p style="margin-top:10px;">
                1.
                选择加签用户后，流程会在此审核节点走完后，立即转入加签用户节点进行处理，加签节点处理完毕后，转入原流程。
              </p>
              <p style="margin-top:10px;">
                2.
                选择会签用户后，流程会在此审核节点走完前，立即转入会签用户节点进行处理，加签节点处理完毕后，再次转入当前审核节点，继续原流程。
              </p>
            </div>

            <div style="width:98%;margin-top:50px;margin-bottom:30px;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <!-- 暂时不支持，审批节点的加签、会签功能 -->
          <a-col
            :span="24"
            style="margin-top:30px;"
            v-if="pageType == 'workflow' && curRow.bpm_status == 1000"
          >
            <template>
              <a-form :form="form">
                <a-form-item label="会签用户" style="width: 500px;margin-top:20px;">
                  <j-select-multi-user v-model="wflowNotifyUsers"></j-select-multi-user>
                </a-form-item>

                <div
                  style="width:500px;"
                  v-if="wflowNotifyData != null && wflowNotifyData.length > 0"
                >
                  <a-table
                    :columns="wflowcolumns"
                    :dataSource="wflowNotifyData"
                    :pagination="false"
                  ></a-table>
                </div>
              </a-form>
            </template>

            <div
              style="float:left; width:88%; display:block; border-bottom: 0px solid #cecece;padding-left:0px;margin-top:30px;margin-bottom:30px;"
            >
              <p>注意：选择会签用户后，流程会在此审核节点走完前，立即转入会签用户节点进行处理，加签节点处理完毕后，再次转入当前审核节点，继续原流程。</p>
            </div>

            <div style="width:98%;margin-top:50px;margin-bottom:30px;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
          </a-col>

          <a-col
            :span="24"
            style="margin-top:30px;"
            v-if="pageType == 'workflowing' && curRow.bpm_status == 1"
          >
            <template>
              <a-form :form="form">
                <a-form-item label="审核用户" style="width: 500px">
                  <j-select-multi-user v-model="wflowUsers"></j-select-multi-user>
                </a-form-item>

                <div style="width:500px;" v-if="auditData != null && auditData.length > 0">
                  <a-table :columns="wflowcolumns" :dataSource="auditData" :pagination="false"></a-table>
                </div>

                <a-form-item label="审批用户" style="width: 500px; margin-top:10px;">
                  <j-select-multi-user v-model="approveUser"></j-select-multi-user>
                </a-form-item>

                <div style="width:500px;" v-if="approveData != null && approveData.length > 0">
                  <a-table :columns="wflowcolumns" :dataSource="approveData" :pagination="false"></a-table>
                </div>

                <a-form-item label="知会用户" style="width: 500px; margin-top:10px;">
                  <j-select-multi-user v-model="notifyUsers"></j-select-multi-user>
                </a-form-item>

                <div style="width:500px;" v-if="notifyData != null && notifyData.length > 0">
                  <a-table :columns="wflowcolumns" :dataSource="notifyData" :pagination="false"></a-table>
                </div>
              </a-form>
            </template>
            <template>
              <div style="width:88%;margin-top:15px;">
                <a-button
                  ghost
                  type="primary"
                  @click="handleSubmitWF"
                  v-if="pageType == 'workflowing' || pageType == 'notifying'"
                >提交</a-button>
              </div>
            </template>
          </a-col>

          <a-col :span="24" style="margin-top:30px;" v-if="pageType == 'notifying'">
            <template>
              <a-form :form="form">
                <a-form-item label="知会用户" style="width: 500px">
                  <j-select-multi-user v-model="notifyUsers"></j-select-multi-user>
                </a-form-item>

                <div style="width:500px;" v-if="notifyData != null && notifyData.length > 0">
                  <a-table :columns="wflowcolumns" :dataSource="notifyData" :pagination="false"></a-table>
                </div>
              </a-form>
            </template>
            <template>
              <div style="width:88%;margin-top:10px;">
                <a-button
                  ghost
                  type="primary"
                  @click="handleSubmitWF"
                  v-if="pageType == 'workflowing' || pageType == 'notifying'"
                >提交</a-button>
              </div>
            </template>
          </a-col>

          <a-col :span="24" style="margin-top:30px;" v-if="pageType == 'workflow'">
            <template>
              <div style="width:88%;">
                <a-textarea
                  style="align:left;text-align:left;"
                  placeholder="请输入审批意见"
                  v-model="curRow.idea_content"
                  :autosize="{minRows: 2, maxRows: 10}"
                />
              </div>
              <div style="width:88%;margin-top:10px;">
                <a-button
                  type="primary"
                  style="margin-right:10px;margin-top:10px;background-color:#2090fe;border: 1px solid #fefefe;"
                  @click="handleApproveWF"
                >同意</a-button>
                <a-button
                  type="primary"
                  style="margin-right:10px;margin-top:10px;background-color:#fe5050;border: 1px solid #fefefe;"
                  @click="handleRejectWF"
                >驳回</a-button>
              </div>
            </template>
          </a-col>

          <a-col :span="24" style="margin-top:30px;" v-if="pageType == 'notify'">
            <template>
              <div style="width:88%;">
                <a-textarea
                  style="align:left;text-align:left;"
                  placeholder="请输入知会意见"
                  v-model="curRow.idea_content"
                  :autosize="{minRows: 2, maxRows: 10}"
                />
              </div>
              <div style="width:88%;margin-top:10px;">
                <a-button
                  type="primary"
                  style="margin-right:10px;margin-top:10px;background-color:#2090fe;border: 1px solid #fefefe;"
                  @click="handleConfirmWF"
                >确认</a-button>
              </div>
            </template>
          </a-col>

          <a-col :span="24" style="margin-top:30px;" v-if="printflag == 'false'">
            <div style="width:98%;margin-top:50px;margin-bottom:30px;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>
            <template>
              <div v-for="(item, index) in replaylist" :key="index">
                <a-comment>
                  <template slot="actions">
                    <span key="comment-basic-like">
                      <a-tooltip title="Like">
                        <a-icon
                          type="like"
                          :theme="action === 'liked' ? 'filled' : 'outlined'"
                          @click="handleLikeComment(item.id)"
                        />
                      </a-tooltip>
                      <span style="padding-left: '8px';cursor: 'auto'">
                        {{
                        item.likes
                        }}
                      </span>
                    </span>
                    <span key="comment-basic-dislike">
                      <a-tooltip title="Dislike">
                        <a-icon
                          type="dislike"
                          :theme="action === 'disliked' ? 'filled' : 'outlined'"
                          @click="handleDislikeComment(item.id)"
                        />
                      </a-tooltip>
                      <span style="padding-left: '8px';cursor: 'auto'">
                        {{
                        item.dislikes
                        }}
                      </span>
                    </span>
                    <span
                      key="comment-basic-reply-to"
                      @click="handleReplayComments(item.id, item.create_by)"
                    >回复</span>
                    <span
                      key="comment-basic-reply-to"
                      @click="handleDeleteComments(item.id, item.create_by)"
                      v-if="userInfo.username == item.create_by"
                    >删除</span>
                  </template>
                  <a slot="author">{{ item.create_by }}</a>
                  <a-avatar :src="item.avatar" :alt="item.create_by" slot="avatar" />
                  <p slot="content">{{ item.content }}</p>
                  <div v-for="(subitem, subindex) in item.replay" :key="subindex">
                    <a-comment>
                      <template slot="actions">
                        <span key="comment-basic-like">
                          <a-tooltip title="Like">
                            <a-icon
                              type="like"
                              :theme="
                                action === 'liked' ? 'filled' : 'outlined'
                              "
                              @click="handleLikeSubComment(item.id, subitem.id)"
                            />
                          </a-tooltip>
                          <span style="padding-left: '8px';cursor: 'auto'">
                            {{
                            subitem.likes
                            }}
                          </span>
                        </span>
                        <span key="comment-basic-dislike">
                          <a-tooltip title="Dislike">
                            <a-icon
                              type="dislike"
                              :theme="
                                action === 'disliked' ? 'filled' : 'outlined'
                              "
                              @click="
                                handleDislikeSubComment(item.id, subitem.id)
                              "
                            />
                          </a-tooltip>
                          <span style="padding-left: '8px';cursor: 'auto'">
                            {{
                            subitem.dislikes
                            }}
                          </span>
                        </span>
                        <span
                          key="comment-basic-reply-to"
                          @click="
                            handleDeleteSubComment(
                              item.id,
                              subitem.id,
                              subitem.create_by
                            )
                          "
                          v-if="userInfo.username == subitem.create_by"
                        >删除</span>
                      </template>
                      <a slot="author">{{ subitem.create_by }}</a>
                      <a-avatar :src="subitem.avatar" :alt="subitem.create_by" slot="avatar" />
                      <p slot="content">{{ subitem.content }}</p>
                      <a-tooltip slot="datetime" :title="subitem.create_time">
                        <span>{{ subitem.create_time }}</span>
                      </a-tooltip>
                    </a-comment>
                  </div>
                  <a-tooltip slot="datetime" :title="item.create_time">
                    <span>{{ item.create_time }}</span>
                  </a-tooltip>
                </a-comment>
              </div>
            </template>

            <div style="width:98%;margin-top:50px;margin-bottom:30px;">
              <a-divider style="width:98%;" dashed>·</a-divider>
            </div>

            <div class="no-print">
              <a-col :span="24" v-if="commentFlag == 'yes'">
                <div class="no-print" style="float:left;width:50px;">
                  <a-avatar
                    style="float:left;text-align:left;"
                    :src="avatar"
                    :alt="userInfo.realname"
                    slot="avatar"
                  />
                </div>
                <div class="no-print" style="float:left;width:50%;height:50px;">
                  <a-textarea
                    :span="22"
                    style="float:left;text-align:left;"
                    v-model="replayvalue"
                    placeholder="写下你的评论..."
                    allowClear
                    :autoSize="{minRows: 4, maxRows: 10}"
                  />
                </div>
                <div class="no-print" style="width:50%;margin-left:50px;margin-top:10px;">
                  <div style="float:right;margin-top:10px;">
                    <a-button
                      type="primary"
                      @click="handleWriteComment()"
                      style="margin-left:10px;font-size:12px;"
                      size="small"
                    >发布</a-button>
                    <a-button
                      color="gray"
                      type="primary"
                      @click="handleCancelComment()"
                      style="margin-left:10px;background:pink;border: 1px solid pink;font-size:12px;"
                      size="small"
                    >取消</a-button>
                  </div>
                </div>
              </a-col>
            </div>
          </a-col>

          <a-modal
            title="温馨提示"
            :visible="tipVisible"
            @ok="tipHandleOk"
            :confirmLoading="tipConfirmLoading"
            @cancel="tipHandleCancel"
          >
            <p>{{ tipContent }}</p>
          </a-modal>

          <el-dialog title="二维码分享" :visible.sync="qrcodeVisible" width="30%">
            <div style="text-align:center;">
              <qrcode :value="qrcodeUrl" :options="{width: 200}" style="text-align:center;"></qrcode>
            </div>
            <span slot="footer" class="dialog-footer">
              <el-button @click="qrcodeVisible = false">取 消</el-button>
              <el-button type="primary" @click="qrcodeVisible = false">确 定</el-button>
            </span>
          </el-dialog>

          <el-dialog title="短链接分享" :visible.sync="shortUrlVisible" width="30%">
            <div style="text-align:center;">
              <span>{{ shortUrl }}</span>
            </div>
            <span slot="footer" class="dialog-footer">
              <el-button @click="shortUrlVisible = false">取 消</el-button>
              <el-button type="primary" @click="shortUrlVisible = false">确 定</el-button>
            </span>
          </el-dialog>
        </div>

        <template>
          <div>
            <!-- 向上箭头 -->
            <a-back-top />
          </div>
        </template>
      </a-col>
    </section>
  </a-card>
</template>

<script>
import * as manageAPI from "@/api/manage";
import * as workflowAPI from "@/api/workflow";
import * as storage from "@/utils/storage";
import * as tools from "@/utils/util";
import VueCoreVideoPlayer from 'vue-core-video-player';
import JSelectMultiUser from "@/components/jeecgbiz/JSelectMultiUser";

window.manageAPI = manageAPI;
window.workflowAPI = workflowAPI;
window.storage = storage;
window.tools = tools;

try {
  Vue.use(VueCoreVideoPlayer)
} catch (error) {
  console.log(error);
}

try {
  Vue.use(Print);
} catch (error) {
  console.log(error);
}

//设置挂载音乐播放器组件
try {
  Vue.component('aplayer', VueAPlayer);
} catch (error) {
  console.log(error);
}

//Vue挂载QRCode组件
try {
  Vue.component(VueQrcode.name, VueQrcode);
} catch (error) {
  console.error(error);
}

//默认预览图片
const images = [];
//审核、审批、知会列表columns
const wfcolumns = `[{"title":"序号","dataIndex":"no","key":"no"},{"title":"中文","dataIndex":"name","key":"name"},{"title":"英文","dataIndex":"nickname","key":"nickname"}]`;

export default {
  components: {
    JSelectMultiUser
  },
  name: "Printgzsld",
  props: {
    reBizCode: {
      type: String,
      default: ""
    }
  },
  data() {
    return {
      user: "",
      avatar: "",
      columns: [],
      data: [],
      loading: false,
      refreshInterval: [1000, 2000, 3000],
      formName: "流程申请单",
      curRow: {},
      depart: {},
      fileinfo: "",
      workflows: [],
      pageType: "view",
      tableName: "",
      wflowUsers: "",
      wflowAddUsers: "",
      wflowNotifyUsers: "",
      notifyUsers: "",
      approveUser: "",
      tableInfo: "",
      tipVisible: false,
      tipContent: "",
      slides: images,
      wflowstatus: {},
      shortUrl: "",
      qrcodeUrl: "",
      qrcodeVisible: false,
      shortUrlVisible: false,
      form: this.$form.createForm(this),
      wflowcolumns: JSON.parse(wfcolumns),
      auditData: [],
      approveData: [],
      notifyData: [],
      wflowAddData: [],
      wflowNotifyData: [],
      wfreeNode: "",
      startusers: "",
      auditusers: "",
      approveusers: "",
      messageusers: "",
      replayvalue: "",
      spinning:false,
      replaylist: [],
      replayid: "",
      printflag: "false",
      commentFlag: "yes"
    };
  },
  computed: {
    userInfo() {
      return this.$store.getters.userInfo;
    }
  },
  async created() {
    //初始化页面
    window.initWflowPage(this, tools , storage , manageAPI );
  },

  async mounted() {
    var that = this;
    //处理页面创建完毕后所需操作
    let result = await window.handleMount(this , tools , storage , manageAPI );
    //等待一段时间，检查是否需要设置额外的知会人员
    setTimeout( async() => {
      //设置执行人员通知
      that.notifyUsers = await this.querySubUser();      
    } , 500 );
    return result;

  },

  //Vue动态监控区域
  watch: {
    async $route() {
      return await window.handleMount(this , tools , storage , manageAPI );
    },
    /**
     * @function 流程新增用户
     */
    async wflowAddUsers(users) {
      var userlist = await manageAPI.queryUserName();
      var ulist = users.split(",");
      this.wflowAddData = [];
      window.__.each(ulist, (item, index) => {
        //查询用户信息
        var user = window.__.find(userlist, user => {
          return user.username == item;
        });
        this.wflowAddData.push({
          no: index + 1,
          name: user.realname,
          nickname: user.username
        });
      });
      console.log("加签用户列表：" + users);
    },
    async wflowNotifyUsers(users) {
      var userlist = await manageAPI.queryUserName();
      var ulist = users.split(",");
      this.wflowNotifyData = [];
      window.__.each(ulist, (item, index) => {
        //查询用户信息
        var user = window.__.find(userlist, user => {
          return user.username == item;
        });
        this.wflowNotifyData.push({
          no: index + 1,
          name: user.realname,
          nickname: user.username
        });
      });
      console.log("会签用户列表：" + users);
    },
    async wflowUsers(users) {
      var userlist = await manageAPI.queryUserName();
      var ulist = users.split(",");
      this.auditData = [];
      window.__.each(ulist, (item, index) => {
        //查询用户信息
        var user = window.__.find(userlist, user => {
          return user.username == item;
        });
        this.auditData.push({
          no: index + 1,
          name: user.realname,
          nickname: user.username
        });
      });
      console.log("审核用户列表：" + users);
    },
    async approveUser(users) {
      var userlist = await manageAPI.queryUserName();
      var ulist = users.split(",");
      this.approveData = [];
      window.__.each(ulist, (item, index) => {
        //查询用户信息
        var user = window.__.find(userlist, user => {
          return user.username == item;
        });
        this.approveData.push({
          no: index + 1,
          name: user.realname,
          nickname: user.username
        });
      });
      console.log("审批用户列表：" + users);
    },
    async notifyUsers(users) {
      var userlist = await manageAPI.queryUserName();
      var ulist = users.split(",");
      this.notifyData = [];
      window.__.each(ulist, (item, index) => {
        //查询用户信息
        var user = window.__.find(userlist, user => {
          return user.username == item;
        });
        this.notifyData.push({
          no: index + 1,
          name: user.realname,
          nickname: user.username
        });
      });
      console.log("知会用户列表：" + users);
    }
  },
  //Vue方法定义区域
  methods: {

    /**
     * @function 查询计划任务执行人员
     */
    async querySubUser(){
      var that = this;
      //定义执行人员字符串
      let exectorlist = '';
      let tableName = tools.queryUrlString('table_name');
      let id = tools.queryUrlString("id");
      let ulist = [];

      //如果是计划管理表，则任务执行人员，应该添加知会信息
      if(tableName == 'bs_plan_task'){

        //查询任务执行人员
        let exectors = await manageAPI.queryTableDataByField(`${tableName}_item` , 'foreign_key_id' , id);

        //遍历执行人员
        for (let item of exectors){
          let username = await manageAPI.patchCnameEname(item.create_by);

          if (!tools.isNull(username)) {
            ulist.push(username);
          }
        }
        
        let temp = that.notifyUsers + ',' + ulist.toString();
        let array = temp.split(",");

        array = array.filter((item , index , all) => {
          return index == all.findIndex((element) => { return element == item}) && !tools.isNull(item);
        })

        exectorlist = array.toString();

      }

      return exectorlist;
    },

    /**
     * @function 处理mount事件函数
     */
    async handleMount(){
      return await window.handleMount(this , tools , storage , manageAPI );
    },

    /**
     * @function 加载数据函数
     */
    async loadData() {
      return await window.loadData(this, tools, manageAPI);
    },

    /**
     * @function 判断是否为空
     */
    isNull(temp){
      return tools.isNull(temp);
    },

    /**
     * @function 执行自由流程转入历史操作
     */
    async transferFreeWorkflow() {
      //执行自由流程转历史操作，并返回结果
      return await workflowAPI.transFreeWflowHis(this.curRow.id);
    },

    /**
     * @function 加载流程信息
     */
    async loadWorkflowNode() {
      return await window.loadWorkflowNode(this, tools, storage, manageAPI);
    },

    /**
     * @function 获取数据函数
     */
    async getDate() {
      return tools.formatDate(new Date().getTime() , 'yyyy-MM-dd');
    },

    /**
     * @function 弹出框确认函数
     */
    async tipHandleOk() {
      window.tipHandleOk(this);
    },

    /**
     * @function 弹出框取消操作
     */
    async tipHandleCancel() {
      window.tipHandleCancel(this);
    },

    /**
     * @function 获取字段值
     */
    async getFormFieldValue(field) {
      return this.form.getFieldValue(field);
    },

    /**
     * @function 处理打印操作
     */
    async handlePrint() {
      window.handlePrint(this);
    },

    /**
     * @function 生成二维码操作
     */
    async handleQRcode() {
      window.handleQRcode(this);
    },

    /**
     * @function 生成短链接操作
     */
    async handleShort() {
      window.handleShort(this, storage, tools, manageAPI);
    },

    /**
     * @function 处理预览函数
     */
    async handlePreview(item) {

      let time = Math.round(item.name.split('_')[0]/1000);
      let now = dayjs().format('YYYYMMDDHHmmss');
      let expire = window._CONFIG['office_expire_time'] || 10000;

      if(Math.abs(now-time) >= expire){
        window.handlePreview(item, manageAPI);
      } else {
        alert('文档正在转换中,请稍后重试...');
      }

    },

    /**
     * @function 处理下载功能
     */
    async handleDownLoad(item) {

      let time = Math.round(item.name.split('_')[0]/1000);
      let now = dayjs().format('YYYYMMDDHHmmss');
      let expire = window._CONFIG['office_expire_time'] || 10000;

      if(Math.abs(now-time) >= expire){
        window.handleDownLoad(item, this);
      } else {
        alert('文档正在转换中,请稍后重试...');
      }

    },

    /**
     * @function 处理用户信息
     */
    async handleUserInfo(userInfo) {
      window.handleUserInfo(userInfo , this , storage);
    },

    /**
     * @function 同意审批
     */
    async handleApproveWF() {
      window.handleApproveWF(this, tools , storage , manageAPI , workflowAPI );
    },

    /**
     * @function 生成任务记录数据
     */
    async handleTaskItem(result = "") {
      window.handleTaskItem(result , this, tools , manageAPI );
    },

    /**
     * @function 驳回审批
     */
    async handleRejectWF() {
      window.handleRejectWF(this, storage , tools , manageAPI , workflowAPI );
    },

    /**
     * @function 知会确认
     */
    async handleConfirmWF() {
     window.handleConfirmWF(this, tools , storage , manageAPI , workflowAPI );
    },

    /**
     * @function 提交自由流程
     */
    async handleSubmitWF() {
      this.spinning = true;
      var tableName = tools.queryUrlString('table_name');
      try {
        //如果是计划管理表，则任务执行人员，应该添加知会信息
        if(tableName == 'bs_plan_task'){
          this.notifyUsers = await this.querySubUser();
          await tools.sleep(100);
        }
      } catch (error) {
        console.log(error);
      }
      try {
        await window.handleSubmitWF(this, tools , storage , manageAPI , workflowAPI );
      } catch (error) {
        console.log(error);
      }
      try {    
        //如果是计划管理表，则任务执行人员，应该添加知会信息
        if(tableName == 'bs_plan_task'){
          //生成员工的任务记录
          await this.handleTaskItem();
        }
      } catch (error) {
        console.log(error);
      }
      this.spinning = false;
    },

    /**
     * @function 发布评论
     */
    async handleWriteComment() {
      window.handleWriteComment(this, tools , storage, manageAPI);
    },

    /**
     * @function 回复评论
     */
    async handleReplayComments(id, username) {
      window.handleReplayComments(id, username, this, tools , manageAPI ) ;
    },

    /**
     * @function 给评论点赞
     */
    async handleLikeComment(id) {
      window.handleLikeComment(id, this, tools , storage , manageAPI ) ;
    },

    /**
     * @function 给评论取消点赞
     */
    async handleDislikeComment(id) {
      window.handleDislikeComment(id, this, tools , storage , manageAPI );
    },

    /**
     * @function 删除上级评论
     */
    async handleDeleteComments(id, username) {
      window.handleDeleteComments(id, username, this, tools , storage , manageAPI);
    },

    /**
     * @function 删除二级评论
     */
    async handleDeleteSubComment(id, subId ) {
      window.handleDeleteSubComment(id , subId , this , tools , storage , manageAPI);
    },

    /**
     * @function 二级评论点赞
     */
    async handleLikeSubComment(id, subId) {
      window.handleLikeSubComment(id, subId , this , tools , storage , manageAPI);
    },

    /**
     * @function 二级评论点鄙视
     */
    async handleDislikeSubComment(id, subId) {
      window.handleDislikeSubComment(id, subId, this, tools, storage , manageAPI);
    },

    /**
     * @function 取消发布评论信息
     */
    async handleCancelComment() {
      window.handleCancelComment(this);
    }
  }
};
</script>
<style scoped>
.explain {
  text-align: left;
  margin-left: 50px;
}
.explain .ant-input,
.sign .ant-input {
  font-weight: bolder;
  text-align: center;
  border-left-width: 0px !important;
  border-top-width: 0px !important;
  border-right-width: 0px !important;
}
</style>
